# 给定 n 个非负整数 a1，a2，...，an，每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线，垂直线 i 的两个端点分别为
# (i, ai) 和 (i, 0)。找出其中的两条线，使得它们与 x 轴共同构成的容器可以容纳最多的水。
# 说明：你不能倾斜容器，且 n 的值至少为 2。


def maxArea(height):
    length = len(height)
    i, j, direction = 0, length - 1, True
    res = (length - 1) * min(height[i], height[j])
    while True:
        if j - i == 1:
            break
        if direction:
            i += 1
            if height[i] > height[j]:
                direction = False
        else:
            j -= 1
            if height[j] > height[i]:
                direction = True
        res = max(res, (j - i) * min(height[i], height[j]))
    return res


print(maxArea([2,3,10,5,7,8,9]))
